This invention relates to a digital signal transmission system in which communications are carried out in a packet mode by using a communication cable such as a coaxial cable, and more particularly to a system for controlling the retransmission of data when data applied to the communication cable from different stations collide with each other.
As electronic computers have been popularized and digital signal processing techniques have been developed, a significant development has been the combination of the communications system with the data processing system, to process the data on line. Especially in the case of a small scale communications system such as that employed in government and public offices and in private companies, packet switching communications systems using a communication cable such as a coaxial cable are being watched with keen interest, since they are economical, and high in both reliability and transmission efficiency.
In such a packet mode communications system, a communication cable for two-way transmission is installed, for instance, in a laboratory, and a number of stations (personal stations) are connected to the cable. The stations transmit a message which is divided into data blocks each having a 1000 to 2000 bits. A header including a destination code, a communication number, etc. is added to the message. The network itself is a passive transmission medium which has no control function, and the control is distributed to the stations. Accordingly, each station accesses a channel to start transmission of a message, after confirming that the transmission path is empty. When the packet signal from one station collides with that of another station during transmission, the two stations stop transmitting the signals. Each station which has stopped its transmission tries to transmit the message again after waiting a predetermined period of time.
On the other hand, in such communications systems the stations freely start transmitting data, and therefore the collision of packet signals may occur more than once on the same transmission path. Accordingly, the communications system suffers from the problem that the transmission delay time is not constant. Thus, the communications system is unsuitable for real time transmission in which, such as in a conversational voice communication, the signal transmission and reception relationship on the real time axis is essential. Of course, this problem can be solved by providing a permanent master station to require the stations to make appointments for channel access. However, if the master station becomes out of order, then it will be impossible to carry out the data communication, and the system is therefore unreliable.
In order to overcome the above-described difficulty, a digital signal transmission system called "Modified Ethernet" has been proposed in the art. In this system, the time axis is divided into periodic frames each of which in turn is divided into a plurality of small parts (blocks) and the stations (personal stations) are allowed opportunities for packet communication within the blocks. Accordingly, the stations are equal in their utilization of empty blocks. In addition, a station which occupies a block for a period of time required for signal transmission will have an opportunity to retain that block for transmission during the next frame.
FIG. 1 shows the arrangement of frames in a signal in the modified ethernet system. The frame which occurs periodically on the time axis has N blocks #1 through #N. Each block has the following bit trains b.sub.1 through b.sub.9 :
b.sub.1 : rear guard time
b.sub.2 : preamble
b.sub.3 : address bit
b.sub.4 : distance code bit
b.sub.5 : control bit
b.sub.6 : data bit
b.sub.7 : check bit
b.sub.8 : end flag
b.sub.9 : front guard time
The bit trains b.sub.2 to b.sub.5 and b.sub.6 to b.sub.8 are required for forming a packet, and are called overhead (additional) bits. The two other bit trains b.sub.1 and b.sub.9 are both called guard times. The guard time is an empty bit train for preventing adjacent packets from being partially overlapped with each other because of the delay time which occurs when the packet of each block propagates on the coaxial cable. The rear guard time b.sub.1 is provided for protecting the rear packet and the front guard time b.sub.9 is provided for protecting the front packet. Hereinafter, the total guard time (b.sub.1 +b.sub.9) will be represented by .tau.g, where g is the sum of the number of bits of the rear guard time b.sub.1 and the number of bits of the front guard time b.sub.9.
FIG. 2 is an illustration of the above-described modified ethernet system. In such a communications system, a transmission path, i.e. a coaxial cable 1, is connected between impedance matching terminators 2 each having a resistance equal to the characteristic impedance of the cable. Stations are connected to the coaxial cable 1 through T-connectors (or taps) 31 through 3N. These stations are fundamentally the same in arrangement, and only the essential parts of the station A are illustrated in FIG. 2.
Each station has a subscriber device 4 provided with a computer, a telephone, etc. The device 4 comprises a transmitter (encoder) 41 for transmitting digital signals in packets to another station, a receiver (decoder) 42 for receiving digital signals in packets from another station, and a terminal controller 43 for controlling the terminal. The output signal of the transmitter 41 is temporarily stored in a signal transmitting buffer memory 51. The signals thus stored are collectively read at a predetermined time with a clock signal having a period equal to the speed of transmission on the coaxial cable transmission medium. The signals thus read are converted into a predetermined packet by a signal transmitting logic circuit 52. The packet is applied through a signal transmitting buffer amplifier 53 and the T-connector 3.sub.1 to the coaxial cable 1.
On the other hand, all the packet signals transmitted through the coaxial cable 1 are applied through the T-connector 31 to a signal receiving buffer amplifier 54. A signal receiving logic circuit 55 selects one out of the packet signals thus received which is destined for its own station (the station A), and the packet signal thus selected is temporarily stored in a signal receiving buffer memory 56. The signals thus stored are read continuously with a predetermined clock signal, to provide an output signal.
The signals are transmitted and received as described above. The transmission clock signal used in the operation is produced by a transmission clock pulse generator 57. A frame counter 58 frequencydivides the transmission clock signal to provide a frame timing signal 71 for specifying frame timing and a block timing signal 72 for specifying block timing. A transmission control circuit 59 receives through the logic circuit 55 the received signal which is destined for its own station (the station A), so as to control the terminal controller 43 and to control the signal transmission logic circuit 52 according to instruction signals from the terminal controller 43. A collision detecting circuit 61 operates to detect whether or not, when a packet signal is transmitted with a block selected by its own station, the packet signal collides with the packet signal of another station. When a collision is detected, a retransmission control circuit 74 determines a retransmission interval and controls the signal transmitting circuit 52 for retransmission of the packet signal.
The collision of packet signals in the communications system will now be described in more detail.
In all of the stations, the subscriber devices 4 have memories (not shown) for indicating occupation of the blocks #1 through #N in a frame. In each of the stations, the packet signals are received by the buffer amplifiers 54, and the blocks being used are registered according to the packet signals thus received. In the modified ethernet system, for real time transmission, a station which has occupied a block in one frame can retain the same block in the next frame. Accordingly, a station which has issued a signal transmission request selects an empty block indicated by the memory and transmits a packet signal in the same block in the next frame. However, if plural stations request signal transmission substantially at the same time, they may select the same empty block and may start transmitting their packet signals simultaneously. In this case, a collision of the packet signals occurs, and therefore the stations may try to transmit the messages again after optional periods of time.
This type of retransmission control is not specified by the modified ethernet system, but instead a BEB (binary exponential back-off) protocol is usually employed, as will now be described. It is assumed that, in FIG. 3, when a packet signal is transmitted within first block #1 in a frame, the station A provides a first transmission request SR-A1, and when a packet signal is transmitted in the third block #3 in the same block, the station B produces a first transmission request SR-B1. If the first through fourth blocks #1 through #4 in the block are being used, the stations A and B select the fifth block #5 for transmitting their packet signals, as a result of which the signals collide with each other in the fifth block #5.
In the BEB protocol system, each station which has suffered from the collision of packet signals is caused to select an empty block in a predetermined retransmission interval t.sub.1, to transmit the packet signal again. The retransmission interval t.sub.1 is: EQU t.sub.1 =.tau..multidot.n (1)
In expression (1), .tau. is the time duration for the retransmission interval and is called "a slot time", the slot time .tau. being one block length, and n is an integer defined by the following expression (2): EQU 0.ltoreq.n&lt;2.sup.l ( 2)
The integer n is provided by a random number generator. In expression (2), l is a value representing the number of collisions which have occurred. The value of l is stored by a counter or memory in a station which transmits a signal. The value is increased whenever a collision occurs, and is cleared to zero when the transmission has been achieved. Thus, in the retransmission control system according to the BEB protocol, as the number of encountered collisions increases, the retransmission interval is increased.
In the case of FIG. 3, the first collision occurs in the fifth block #5, and therefore the integer n is 0 or 1. It is assumed that the station A produces a second transmission request SR-A2 at the sixth block #6 which is one block after the fifth block (t.sub.1 =0) and the station B produces its second transmission request SR-B2 at the seventh block #7 which is two blocks after the fifth block (t1=.tau.). If, in this case, the sixth block #6 is being used and the seventh block #7 is empty, then a collision occurs again. If, after the collision, the station A produces a third transmission request SR-A3 after two blocks and the station B produces its third transmission request after four blocks, then a third collision occurs at the eleventh block #11 when the ninth and tenth blocks #9 and #10 are being used. The collision of packet signals is repeatedly carried out as described above. In the case of FIG. 3, on the fifth transmission request, the station A can achieve the transmission of its packet signal at the thirteenth block #13 in the second frame.
As is clear from the above description, in the conventional BEB protocol retransmission control system, only the number of times a collision has occurred is utilized as the operating reference data, i.e. as the number of encountered collisions increases, the retransmission interval is gradually increased. Accordingly, in the case where a plurality of stations produces transmission requests one after another while the channels are busy, these stations are liable to repeatedly retransmit the packet signal at short time intervals. Thus, even if empty blocks are found, the collision of packet signals occurs successively in these blocks. Accordingly, it is difficult to achieve the calling operation, and the channel utilization percentage is low.